<?php
/**
 * Třída Registry je nadstavbou nad globálními proměnými a umožňuje uložit 
 *  jakoukoliv hodnotu a uchovávat ji napříč celou aplikací. 
 */ 
class Registry {
    
    /**
     * Metoda set umožňuje nastavit hodnotu pro požadovaný klíč. Pokud je
     *  replace nastaveno na false a zároveň klíč již nějaký záznam má, k přepsání
     *  nedojde a zároveń je vrácena hodnota false. Jinak vrací true.           
     */         
    public static function set($key,$value,$replace = true)
    {
        global $REGISTRY;
        
        if(!isset($REGISTRY[$key]) || $overwrite == true)
        {
            $REGISTRY[$key] = $value;
            return true;
        }
        else
        {
            return false;
        }
    }
    
    /**
     * Metoda get vrací hodnotu pro příslušný klíč. Pokud neexistuje, vrací null.
     */         
    public static function get($ident)
    {
        global $REGISTRY;
        
        if(isset($REGISTRY[$ident]))
          return $REGISTRY[$ident];
        else
          return false;
    }
    
}

?>
